<?php

class DesignTimeWorkflowSynchronizationNode extends AbstractDesignTimeWorkflowMergeNode
{

  /**
   * Synchronization, so number of in-nodes should equal the number of out-nodes of branch node
   * @return integer
   */
  public function getMinInNodes ()
  {
    return $this->branch_node->getMinOutNodes();
  }

  /**
   * Synchronization, so number of in-nodes should equal the number of out-nodes of branch node
   * @return integer
   */
   public function getMaxInNodes ()
  {
    return $this->branch_node->getMaxOutNodes();
  }

  /**
   * @param RunTimeWorkflow $workflow
   * @return AbstractRunTimeWorkflowNode
   */
  public function createRunTimeNode (RunTimeWorkflow $workflow)
  {
    return new RunTimeWorkflowSynchronizationNode($workflow, $this);
  }
}